﻿using System;
using Microsoft.SharePoint;

namespace LizardSoft.Common.FlexibleStructureDeployment
{
    public class ListProcessingInfo
    {
        /// <summary>
        /// Url-адрес папки списка (например, Lists/Customers)
        /// </summary>
        public string ListFolderUrl { get; set; }
        /// <summary>
        /// Внутренне название, содержащееся в Url списка
        /// </summary>
        public string ListInternalName { get; set; }
        /// <summary>
        /// Отображаемое название
        /// </summary>
        public string ListTitle { get; set; }
        /// <summary>
        /// Описание
        /// </summary>
        public string ListDescription { get; set; }
        /// <summary>
        /// Шаблон
        /// </summary>
        public SPListTemplateType TemplateType { get; set; }
        /// <summary>
        /// Отображать в меню быстрого запуска
        /// </summary>
        public bool ShowOnQuickLaunch { get; set; }
        /// <summary>
        /// Скрытый
        /// </summary>
        public bool Hidden { get; set; }
        /// <summary>
        /// Удалить список в случае наличия
        /// </summary>
        public bool MustBeRemoved { get; set; }
        /// <summary>
        /// Массив ИД типов контента уровня сайта, наследники которых должны присутствовать в списке
        /// </summary>
        public SPContentTypeId[] SiteContentTypeIds { get; set; }
        /// <summary>
        /// Действие над списком перед выполнением стандартных операций
        /// </summary>
        public Action<SPWeb, ListProcessingInfo> PreAction { get; set; }
        /// <summary>
        /// Действие над списком по завершению стандартных операций
        /// </summary>
        public Action<SPWeb, ListProcessingInfo> PostAction { get; set; }
    }
}
